<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.GregorianCalendar,java.util.Calendar,java.util.regex.*,java.util.*" %>
<%@page import="java.rmi.registry.LocateRegistry"%>
<%@page import="java.rmi.registry.Registry"%>
<%@page import="java.util.ArrayList"%>
<%@page import="rmi.*" %>
<%@page import="data.*" %>
<%@page import="java.text.SimpleDateFormat"%>
<jsp:useBean id="manager" scope="session" class="manager.Manager" />
<%
/*******************************************************************
* Définition des variables
*******************************************************************/
String nom="";
String prenom="";
String numero_enregistrement="";
int page_lecture=1 ;
int nbMedecin=0;
int nb_page=0;
int page_min=0 ;
int page_max=0 ;
int nb_element_par_page=15 ;
int premier_medecin=0 ;
Iterator it;
ArrayList<Medecin> list=new ArrayList<Medecin>() ;

/*******************************************************************
* Analyse des variables request pour savoir si le client effectue une recherche
*******************************************************************/
if(request.getParameter("submit") != null){ 
	nom = request.getParameter("nom");
	if(nom == null) nom = "";
	
	prenom = request.getParameter("prenom");
	if(prenom == null) prenom = "";
	
	numero_enregistrement = request.getParameter("numero_enregistrement");
	if(numero_enregistrement == null) numero_enregistrement = "";
}

/*******************************************************************
* Création de la pagination
*******************************************************************/

/*******************************************************************
* Nombre de medecin
*******************************************************************/
nbMedecin=manager.getServeurRmi().nbEnregistrements(Medecin.class) ;
/*******************************************************************
* On récupère la liste des patients en fonction des paramètres de recherches que l'on a indiqué
*******************************************************************/
list=manager.getServeurRmi().listerMedecins(numero_enregistrement,nom,prenom,premier_medecin,nbMedecin) ;

/*******************************************************************
* Nombre de médecins correspondant à notre recherche
*******************************************************************/
nbMedecin=list.size() ;

if(request.getParameter("page") != null){ 
	page_lecture=Integer.parseInt(request.getParameter("page")) ;
}else{
	page_lecture=1 ;
}

nb_page=(nbMedecin/nb_element_par_page)+1 ;

if(page_lecture<=0) page_lecture=1 ; else if(page_lecture>nb_page) page_lecture=nb_page;

premier_medecin=(page_lecture-1)*nb_element_par_page ;

/*******************************************************************
* On récupère la liste des patients en fonction des paramètres de recherches que l'on a indiqué
*******************************************************************/
list=manager.getServeurRmi().listerMedecins(numero_enregistrement,nom,prenom,premier_medecin,nbMedecin) ;
it=list.iterator() ;


/*******************************************************************
* Affichage du formulaire de recherche
*******************************************************************/
%>
<div id="contenu_style1_haut">
</div>
<div id="contenu_style1_centre">
	<form action="lister_medecin.jsp" method="post">
		<table>
			<tr>
				<td style="text-align:left;font-weight:bold;text-decoration:underline;font-size:14px;">Recherche</td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td></td>
				<td style="text-align:center;font-weight:bold;">Numéro enregistrement :</td>
				<td><input type="text" name="numero_enregistrement" size="20" maxlength="15" value=""/></td>
			</tr>
			<tr>
				<td>ou/et</td>
				<td style="text-align:center;font-weight:bold;">Nom :</td>
				<td><input type="text" name="nom" size="40" maxlength="255" value=""/></td>
			</tr>
			<tr>
				<td>ou/et</td>
				<td style="text-align:center;font-weight:bold;">Prénom :</td>
				<td><input type="text" name="prenom" size="40" maxlength="255" value=""/></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
			</tr>
			<tr> 
				<td>&nbsp;</td>
				<td>&nbsp;</td> 
				<td  style="text-align:right;"><input type="submit" name="submit" value="Rechercher" /></td> 
			</tr> 
		</table>
	</form>
</div>
<div id="contenu_style1_bas">
</div>
<%
/***************************************************************************************
* Si aucun patient trouvé
*****************************************************************************************/
if(nbMedecin==0) {
%>
	<div id="contenu_style2_haut">
	</div>
	<div id="contenu_style2_centre">
		<table>
			<tr>
				<td style="text-align:center;font-weight:bold;font-size:14px;">Aucun médecin enregistré</td>
			</tr>
		</table>
	</div>
	<div id="contenu_style2_bas">
	</div>	
<%	
}else{
/*******************************************************************
* Création de la pagination
*******************************************************************/
%>
	<table>
		<tr>
<%
		/*******************************************************************
		* Bouton page précédente si elle éxiste
		*******************************************************************/

		if(page_lecture>1) {
%>
			<td style="width:35px;"><a href="lister_medecin.jsp?page=<%= page_lecture-1%>"><img src="../images/design/precedent.png" style="width:30px;"/></a></td>
		
<%			
		}else{
%>
			<td style="width:35px;">&nbsp;</td>
<%			
		}
%>	
		<td style="text-align:center;">
<%
			/*******************************************************************
			* Pagination style google avec affichage des numéros des pages
			*******************************************************************/
			if(nb_page<=10) {
				page_min=1;
				page_max=nb_page;
			}else if(nb_page>10) {
				if(page_lecture<5) {
					page_min=1;
					page_max=10;
				}else if(page_lecture>(nb_page-5)){
					page_min=nb_page-9;
					page_max=nb_page;
				}else{
					page_min=page_lecture-4;
					page_max=page_lecture+5;
				}	
			}
					
			for(int i=page_min;i<=page_max;i++) {
				if(i==page_lecture) {
%>
					<a href="lister_medecin.jsp?page=<%= i %>" style="color:black;font-weight:bold;font-size:14px;"><%= i %></a>
<% 							
				}else{
%>
					<a href="lister_medecin.jsp?page=<%= i %>" style="color:black;"><%= i %></a>
<%		
				}
			}

%>		
		</td>
<%
		/*******************************************************************
		* Page suivante si elle existe
		*******************************************************************/
		if(page_lecture<nb_page) {
%>
			<td style="width:35px;"><a href="lister_medecin.jsp?page=<%= page_lecture+1%>"><img src="../images/design/suivant.png" style="width:30px;"/></a></td>
		
<%			
		}else{
%>
			<td style="width:35px;">&nbsp;</td>
<%			
		}
%>
	</tr>
</table>
<%
/*******************************************************************
* Affichage de la liste des patients
*******************************************************************/
%>
<div id="contenu_style2_haut">
</div>
<div id="contenu_style2_centre">
<%
		while(it.hasNext()) {
			Medecin medecin=(Medecin) it.next() ;
%>
			<table>
				<tr>
					<td style="font-weight:bold;font-size:14px;border-bottom:1px solid #163aa2;"><%= medecin.getId_medecin() %> | <%= medecin.getNom_medecin() %> <%= medecin.getPrenom_medecin() %></td>
				</tr>
			</table>
			<table>
				<tr>
					<td>
						<table style="width:100%;margin:0;">
							<tr>
								<td style="font-weight:bold;text-decoration:underline;">Coordonnées :</td>
								<td>&nbsp;</td>
							</tr>
							<tr>
								<td>&nbsp;</td>
								<td>&nbsp;</td>
							</tr>
							<tr>
								<td>Adresse :</td>
								<td><%= medecin.getAdresse_medecin() %></td>
							</tr>
							<tr>
								<td>Code postal :</td>
								<td><%= medecin.getCode_postal() %></td>
							</tr>
							<tr>
								<td>Ville :</td>
								<td><%= medecin.getVille() %></td>
							</tr>
							<tr>
								<td>&nbsp;</td>
								<td>&nbsp;</td>
							</tr>
						</table>	
					</td>
					<td>
						<table style="width:100%;margin:0;">
							<tr>
								<td style="font-weight:bold;text-decoration:underline;">Contacts :</td>
								<td>&nbsp;</td>
							</tr>
							<tr>
								<td>&nbsp;</td>
								<td>&nbsp;</td>
							</tr>
							<tr>
								<td>Numéro téléphone :</td>
								<td><%= medecin.getNumero_telephone_medecin() %></td>
							</tr>
							<tr>
								<td>Numéro portable :</td>
								<td><%= medecin.getNumero_portable_medecin() %></td>
							</tr>
							<tr>
								<td>Email :</td>
								<td><%= medecin.getEmail_medecin() %></td>
							</tr>
							<tr>
								<td>&nbsp;</td>
								<td>&nbsp;</td>
							</tr>
						</table>	
					</td>
				</tr>
			</table>
<%		
		}
%>
</div>
<div id="contenu_style2_bas">
</div>
<%	
}
%>



